







Algorithms..::SetDifference<(Of <T>)> Method (IEnumerable<(Of <T>)>, IEnumerable<(Of <T>)>, IEqualityComparer<(Of <T>)>) |
See Also |
![]() ![]() |
[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]
Computes the set-theoretic difference of two collections. The difference of two sets
is all items that appear in the first set, but not in the second. If an item appears X times in the first set,
and Y times in the second set, the difference contains the item X - Y times (0 times if X < Y).
The source collections are not changed.
A new collection is created with the difference of the collections; the order of the
items in this collection is undefined.
Namespace: Wintellect.PowerCollections
Assembly:
PowerCollections (in PowerCollections.dll)
Syntax
C# |
---|
public static IEnumerable<T> SetDifference<T>( IEnumerable<T> collection1, IEnumerable<T> collection2, IEqualityComparer<T> equalityComparer ) |
Visual Basic (Declaration) |
---|
Public Shared Function SetDifference(Of T) ( _ collection1 As IEnumerable(Of T), _ collection2 As IEnumerable(Of T), _ equalityComparer As IEqualityComparer(Of T) _ ) As IEnumerable(Of T) |
Visual C++ |
---|
public: generic<typename T> static IEnumerable<T>^ SetDifference ( IEnumerable<T>^ collection1, IEnumerable<T>^ collection2, IEqualityComparer<T>^ equalityComparer ) |
Parameters
- collection1
- IEnumerable<(Of <T>)>
The first collection to difference.
- collection2
- IEnumerable<(Of <T>)>
The second collection to difference.
- equalityComparer
- IEqualityComparer<(Of <T>)>
The IEqualityComparer<T> used to compare items for equality. Only the Equals and GetHashCode member functions of this interface are called.
Return Value
The difference of collection1 and collection2, considered as sets.
Type Parameters
- T
Remarks
When equal items appear in both collections, the returned collection will include an arbitrary choice of one of the two equal items.
If both collections are Set, Bag, OrderedSet, or OrderedBag collections, it is more efficient to use the difference or differenceWith methods on that class.
Exceptions
Exception | Condition |
---|---|
System..::ArgumentNullException | collection1 or collection2 is null. |
See Also
Algorithms Class
Wintellect.PowerCollections Namespace